package com.yuandian.middle.platform.mapper;

import com.yuandian.api.middle_platform.po.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * 说明：服务调用详情数据查询-mapper接口
 * @Author tianlr
 * @Date 2023/5/23 14:35
 */
@Mapper
public interface ServerDetailMapper {

    /**
     * 查询服务调用详情数据
     * @param param 参数对象
     */
    public List<EffectiveOriWebDataPojo> selectServerDetail(@Param("param") OrgAbilityParam param);

    /**
     * 查询访问量最大服务器TopN
     * @param param 参数对象
     */
    public List<RequestStatisticsPojo> selectRequestCountTopN(@Param("param") OrgAbilityParam param);

    /**
     * 查询新建会话量最大服务器TopN
     * @param param 参数对象
     */
    public List<RequestStatisticsPojo> selectNewSessionCountTopN(@Param("param") OrgAbilityParam param);

    /**
     * 查询系统返回码统计
     * @param param 参数对象
     */
    public List<ServerResCodeStatisticsPojo> selectServerResCodeStatistics(@Param("param") OrgAbilityParam param);

    /**
     * 查询业务返回码统计
     * @param param 参数对象
     */
    public List<BusinessResCodeStatisticsPojo> selectBusinessResCodeStatistics(@Param("param") OrgAbilityParam param);

    /**
     * 查询TCP数据
     * @param param 参数对象
     */
    public List<TcpStatisticsPojo> selectTcpData(@Param("param") OrgAbilityParam param);

    /**
     * 查询每分钟对应的记录数
     * @param param 参数对象
     */
    public List<Map<String, Object>> selectRecordMinute(@Param("param") OrgAbilityParam param);
}
